package com.dha.caodangcongnghe;

import com.dha.asynctask.DangNhapAsyncTask;
import com.dha.status.NetworkStatus;
import com.dha.ultility.QuangCao;
import com.dha.variable.ThongTinTaiKhoan;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class DangNhap extends ActionBarActivity implements android.view.View.OnClickListener {
	private Button bt_dangNhap_NhapLai, bt_dangNhap_DangNhap;
	private CheckBox cb_dangNhap_ghiNhoMatKhau;
	private EditText etMaSo, etMatKhau;
	private NetworkStatus networkStatus;
	
	private ImageView ivTB, ivTKB, ivTT;
	private TextView tvTB, tvTKB, tvTT;

//	private QuangCao quangCao;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_dangnhap);

//		quangCao = new QuangCao(this, DangNhap.this);
		
		ivTB = (ImageView) findViewById(R.id.iv_TB);
		ivTB.setOnClickListener(this);
		
		ivTKB = (ImageView) findViewById(R.id.iv_TKB);
		ivTKB.setOnClickListener(this);
		
		ivTT = (ImageView) findViewById(R.id.iv_TT);
		ivTT.setOnClickListener(this);
		
		tvTB = (TextView) findViewById(R.id.tv_TB);
		tvTB.setOnClickListener(this);
		
		tvTKB = (TextView) findViewById(R.id.tv_TKB);
		tvTKB.setOnClickListener(this);
		
		tvTT = (TextView) findViewById(R.id.tv_TT);
		tvTT.setOnClickListener(this);
		
		
		bt_dangNhap_DangNhap = (Button) findViewById(R.id.bt_dangNhap_DangNhap);
		bt_dangNhap_NhapLai = (Button) findViewById(R.id.bt_dangNhap_NhapLai);
		bt_dangNhap_DangNhap.setOnClickListener(this);
		bt_dangNhap_NhapLai.setOnClickListener(this);

		cb_dangNhap_ghiNhoMatKhau = (CheckBox) findViewById(R.id.cb_dangNhap_ghiNhoMatKhau);
		etMaSo = (EditText) findViewById(R.id.et_dangNhap_maTaiKoan);
		etMatKhau = (EditText) findViewById(R.id.et_dangNhap_matKhau);
		etMaSo.requestFocus();

		networkStatus = new NetworkStatus(getBaseContext());
	}

	// Hàm lưu thông tin, hàm này bỏ vào hàm onpause
	public void luuThongTinGhiNho() {
		SharedPreferences preferences = getSharedPreferences("luuDangNhap",
				MODE_APPEND);
		SharedPreferences.Editor edit = preferences.edit();
		// Đưa dữ liệu vào
		String tk = etMaSo.getText().toString();
		String mk = etMatKhau.getText().toString();
		// nếu lưu được check
		if (cb_dangNhap_ghiNhoMatKhau.isChecked()) {
			edit.putString("ma", tk);
			edit.putString("mk", mk);
			edit.putBoolean("luu", cb_dangNhap_ghiNhoMatKhau.isChecked());
		}
		// Không thì xóa sạch
		else {
			edit.clear();
		}
		// Chấp nhận lưu
		edit.commit();
	}

	// hàm lấy thông tin, hàm này bỏ vào hàm onresum
	public void getThongTinBoNho() {
		SharedPreferences preferences = getSharedPreferences("luuDangNhap",
				MODE_APPEND);
		// lấy giá trị blck ra, nếu không có thì để false
		boolean blckLuu = preferences.getBoolean("luu", false);
		// nếu là có lưu thì get dữ liệu, không thì set các phần null
		if (blckLuu) {
			etMaSo.setText(preferences.getString("ma", ""));
			etMatKhau.setText(preferences.getString("mk", ""));
			cb_dangNhap_ghiNhoMatKhau.setChecked(blckLuu);
		} else {
			etMaSo.setText("");
			etMatKhau.setText("");
			cb_dangNhap_ghiNhoMatKhau.setChecked(false);
		}

	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		luuThongTinGhiNho();
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		getThongTinBoNho();
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.bt_dangNhap_NhapLai:
			etMaSo.setText(null);
			etMatKhau.setText(null);
			cb_dangNhap_ghiNhoMatKhau.setChecked(false);
			etMaSo.requestFocus();
			break;
		case R.id.bt_dangNhap_DangNhap:
			if (networkStatus.isConnected()) {
				ThongTinTaiKhoan.maTaiKhoan = null;
				ThongTinTaiKhoan.hoTen = null;

				if ((etMaSo.length() == 7 || etMaSo.length() == 12)
						&& etMatKhau.length() >= 5) {
					DangNhapAsyncTask asyncTask = new DangNhapAsyncTask(
							DangNhap.this, etMaSo.getText().toString(),
							etMatKhau.getText().toString());
					asyncTask.execute();
				} else {
					if (etMaSo.length() != 7 && etMaSo.length() != 12) {
						Toast.makeText(
								getBaseContext(),
								"Mã tài khoản không đúng\nĐộ dài mã tài khoản là 7 đối với GIÁO VIÊN và 12 đối với SINH VIÊN\nVui lòng nhập lại",
								Toast.LENGTH_LONG).show();
					}
					if (etMatKhau.length() < 5) {
						Toast.makeText(
								getBaseContext(),
								"Mật khẩu không đúng\nMật khẩu phải lớn hơn hoặc bằng 5 kí tự\nVui lòng nhập lại",
								Toast.LENGTH_LONG).show();
					}
				}
			} else {
				Intent intentLoi = new Intent("SuCoVeKetNoiMang");
				startActivity(intentLoi);
			}
			
			break;
		case R.id.iv_TB : 
		case R.id.tv_TB:
			if (networkStatus.isConnected()) {
				Intent intentThongBao = new Intent(getBaseContext(),
						XemThongBao.class);
				startActivity(intentThongBao);
			} else {
				Intent intentLoi = new Intent("SuCoVeKetNoiMang");
				startActivity(intentLoi);
			}
			break;
		case R.id.tv_TKB:
		case R.id.iv_TKB:
			// get layouy_dianlog_nha_ma_so_sinh_vien
						LayoutInflater inflater = LayoutInflater.from(this);
						View nhapMaSinhVienView = inflater.inflate(
								R.layout.layout_dialog_nhap_ma_so_sinh_vien, null);

						AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
						// // set layouy_dianlog_nha_ma_so_sinh_vien.xml to alertdialog
						// builder
						alertBuilder.setView(nhapMaSinhVienView);

						final EditText et_maSinhVien = (EditText) nhapMaSinhVienView
								.findViewById(R.id.et_layout_nhapMaSinhVien);

						// set dialog message

						alertBuilder.setCancelable(false)
								.setNegativeButton("OK", new OnClickListener() {
									// Xu ly nut ok
									@Override
									public void onClick(DialogInterface dialog, int which) {
										// neu nhap so khac 12 chu so ==> thong bao loi
										if (et_maSinhVien.getText().length() == 12
												|| et_maSinhVien.getText().length() == 7) {
											// set gia tri vao masinh vien

											// Goi inten xem diem
											if (networkStatus.isConnected()) {
												Intent i = new Intent("XemThoiKhoaBieu");
												i.putExtra("MaSo", et_maSinhVien.getText()
														.toString());
												startActivity(i);
											} else {
												Intent intentLoi = new Intent(
														"SuCoVeKetNoiMang");
												startActivity(intentLoi);
											}
										} else {
											Toast.makeText(
													getBaseContext(),
													"Mã sinh viên 12 kí tự\nMã giáo viên 7 kí tự",
													Toast.LENGTH_SHORT).show();
										}

									}
								}).setPositiveButton("Thoát ra", new OnClickListener() {
									// Xu ly nut nhap lai
									@Override
									public void onClick(DialogInterface dialog, int which) {
										dialog.cancel();
									}
								}).setTitle("Nhập mã số sinh viên/giáo viên");

						// create alert dialog
						AlertDialog alertDialog = alertBuilder.create();

						// show it
						alertDialog.show();
			break;
		case R.id.iv_TT:
		case R.id.tv_TT:
			Intent intentTacGia = new Intent("TacGia");
			startActivity(intentTacGia);
			break;
		}
		
	}
}
